The present invention relates generally to computer memory devices and, more particularly, to devices and techniques for establishing information relating to the configuration or capabilities of memory devices, such as DRAMs.
The requirements of computer memory can vary with respect to capacity, speed, data bus width and other features depending on the application of the computer. Manufacturers of general purpose computers, for example, sometimes provide modular memory subsystems which include multiple slots or connectors for memory modules. Memory modules then can be mounted in one or more of the slots. The memory modules, in turn, may vary with respect to capacity, speed, data bus width, etc.
An exemplary computer uses a memory controller for converting a memory address supplied by a central processing unit (CPU) into the required address and control signals for accessing a particular memory location. The memory controller generates row address strobe (RAS), column address strobe (CAS), and write enable (WE) signals, and can be implemented in one or more integrated circuits. When the memory is modular, the memory controller and the CPU must receive information which defines or identifies the memory configuration in order to supply the required address and control signals.
Typically, each memory module provides a number of presence detect codes or bits which include information relating to the capacity of the memory module, its speed, etc. The configuration and capabilities of the memory module then can be determined from the presence detect bits. Examples of memory modules that provide presence detect bits include single in-line memory modules (SIMMs), dual in-line memory modules (DIMMs), and small outline dual in-line memory modules (SO-DIMMs).
Originally, a separate pin was provided for each bit of information using parallel presence detect (PPD) techniques. To allow additional information to be provided, serial presence detect (SPD) techniques have been introduced. Generally, an integrated circuit chip, which is a separate chip from an associated memory chip or memory module, stores and provides the SPD information. For example, a serial EEPROM can be used to store the presence detect information and generally requires only an enable pin and a single data pin. The SPD information must either be pre-programmed into the SPD chip or the assembler of the memory chip circuit board must program that information at the time of assembly. Since all the presence detect bits on each SPD chip must be programmed separately after fabrication of the SPD chip, a relatively high level of programming errors can be introduced. Failure rates as high as about 1% have been known to occur. Additionally, the wrong SPD chip occasionally is used for a particular memory chip, thereby increasing the average costs of manufacture. Accordingly, it is desirable to achieve a reduction in the overall manufacturing costs associated with computer memory modules as well as a reduction in the number of programming errors associated with presence detect information.